package cn.tedu.net.collection.generic;

public class Test2_Generic2 {
    public static void main(String[] args) {
        Integer[] a={1,2,3,4,5,6,7,8,9,10};
        Double[] b={6.0,6.6,6.66,6.666,6.6666};
        String[] c={"大哥","二哥","三哥","四哥","五哥","六哥","小弟"};
        print(a);
        print(b);
        print(c);
    }
    //泛型可以实现通用代码的编写,使用E表示元素类型是Element类型--可以理解成神似多态
    //泛型的语法要求:如果方法上使用泛型,必须两处同时出现
    //一个是传入参数的类型,一个是返回值前的泛型类型,表示这是一个泛型方法
    public static <E> void print(E[] e){
        for (E e1 : e) {
            System.out.print(e1+" ");
        }
    }
    public static void print(Integer[] a){
        //普通for循环写法比较复杂,但是可以设置步长
        /*增强高效for循环--如果只是单纯从头到尾遍历,使用增强for循环
        * 好处:语法简单效率高
        * 坏处:没有办法按照下标进行遍历,只能从头到尾进行遍历
        * 语法:for(1 2:3):
        * 要遍历得数据 1是每次遍历得到的数据的类型 2是遍历起的名字*/
        for (Integer integer : a) {
            System.out.println(integer);
        }

    }
//    public static void print(String[] c){
//        for (String integer : c) {
//            System.out.println(integer);
//        }
//    }
//    public static void print(Double[] b){
//        for (Double integer : b) {
//            System.out.println(integer);
//        }
//    }

}
